<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数</title>
    <script>

        // 剩余参数
        function fn(a, b) {
            // console.log('a =',a);
            // console.log('b =',b);

            /*
                除了this，在函数内部还存在着一个隐含的参数arguments
                    arguments 是一个类数组对象（伪数组）
                    调用函数时传递的所有实参，都被存储在arguments中
                    arguments[0] 表示的是第一个实参
                    arguments[1] 表示的是第二个实参
                    以此类推...
                 通过arguments即使不定义形参也可以使用实参
             */
            // console.log(arguments.length);
            console.log(arguments[2]);
            // console.log(Array.isArray(arguments));
        }

        // fn(123, 456, 789);

        // fn(123,456,'hello');

        // 创建一个函数，可以用来计算任意个数字的和
        function sum() {
            //创建一个变量，用来存储结果
            var result = 0;
            //遍历arguments
            for(var i=0; i<arguments.length; i++){
                result += arguments[i];
            }
            //返回结果
            return result;
        }

        var result = sum(1, 3, 10);

        console.log(result);

    </script>
</head>
<body>

</body>
</html>